import { createApp } from 'vue'
import App from './App.vue'
//映入Element组件库 和 样式
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
//@ts-ignore忽略当前文件ts类型的检测否则有红色提示(打包会失败)
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'

//Svg插件需要的配置代码
import 'virtual:svg-icons-register'

//引入全局组件
import gloablComponent from '@/components/index'

//引入全局样式
import '@/styles/index.scss'
//暗黑模式需要的样式
import 'element-plus/theme-chalk/dark/css-vars.css'
//引入路由
import '@/router/index'
import router from '@/router/index'
//引入仓库
import pinia from '@/store/index'
// 引入全局路由守卫代码 -- 执行代码开启守卫
//引入路由鉴权文件
import './permisstion'
const app = createApp(App)

//注册全局组件
app.use(gloablComponent)
//注册模板路由
app.use(router)
//注册仓库
app.use(pinia)
//注册组件
app.use(ElementPlus, {
  locale: zhCn,
})
//引入自定义指令文件
import { isHasButton } from '@/dircetive/has'
isHasButton(app)

app.mount('#app')
